package model;

import java.util.Random;

public class StrategyLazy extends Strategy {

	public StrategyLazy(PacmanProvider pacmanProvider) {
		super(pacmanProvider, ContextConfiguration.VISION_N2);
	}

	@Override
	void move(State estado) {
		Tile eslabonPacman = pacmanProvider.getEslabonDePacman();
		Tile eslabonFantasma = estado.getFantasma().getEslabon();
		
		if (pacmanEnRango(eslabonPacman, eslabonFantasma)) {
			if (estado instanceof Hunter) {
				estado.move(direccionHaciaElPacman(eslabonPacman, eslabonFantasma));
			} else if (estado instanceof Prey) {
				estado.move(direccionOpuesta(direccionHaciaElPacman(eslabonPacman, eslabonFantasma)));
			}
		} else {
			estado.move(Direccion.values()[new Random().nextInt(4) + 1]);
		}
	}
}
